// _taskQueue.h
#pragma once
#include <my_header.h>

typedef struct task_s{
    int _clientFd;
    char _data[1024];//发来的数据
}task_t;

typedef struct _taskNode_s{
    task_t* task;
   struct _taskNode_s* next;// next指针
}_taskNode_t;

typedef struct  _taskQueue_s{
    int size;
    _taskNode_t* front;// 首指针
    _taskNode_t* rear;// 尾指针
}_taskQueue_t;

void _task_init(task_t* task);

// 初始化队
void _taskQueue_init(_taskQueue_t* q);

// 入队
int _taskQueue_enque(_taskQueue_t* q, task_t* task);

// 出队
int _taskQueue_deque(_taskQueue_t* q);

// 判空
bool _taskQueue_is_empty(_taskQueue_t* q);

// 取队头元素
task_t* _taskQueue_front(_taskQueue_t* q);